package com.papers.juan.service;

import com.papers.common.core.domain.R;
import com.papers.juan.domain.TJuanQuestionRepos;
import com.papers.juan.domain.vo.TJuanQuestionReposVo;
import com.papers.juan.domain.bo.TJuanQuestionReposBo;
import com.papers.common.core.page.TableDataInfo;
import com.papers.common.core.domain.PageQuery;

import java.util.Collection;
import java.util.List;

/**
 * 题库Service接口
 *
 * @author papers
 * @date 2022-10-08
 */
public interface ITJuanQuestionReposService {

    /**
     * 查询题库
     */
    TJuanQuestionReposVo queryById(String reposId);

    /**
     * 查询题库列表
     */
    TableDataInfo<TJuanQuestionReposVo> queryPageList(TJuanQuestionReposBo bo, PageQuery pageQuery);

    /**
     * 查询题库列表
     */
    List<TJuanQuestionReposVo> queryList(TJuanQuestionReposBo bo);

    /**
     * 新增题库
     */
    Boolean insertByBo(TJuanQuestionReposBo bo);

    /**
     * 修改题库
     */
    Boolean updateByBo(TJuanQuestionReposBo bo);

    /**
     * 校验并批量删除题库信息
     */
    Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);

    R getReposChart();

    R<Void> addRepos(TJuanQuestionReposBo bo);

    R<Void> editRepos(TJuanQuestionReposBo bo);

    int mergeRepos(TJuanQuestionReposBo bo, List<String> idList);
}
